`:top
`!Communicating Sequential Processes`! (`!CSP`!) ist eine von `F33f`_`[Tony Hoare`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Tony_Hoare]`_`f an der `F33f`_`[Universität Oxford`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Universität_Oxford]`_`f entwickelte `F33f`_`[Prozessalgebra`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Prozessalgebra]`_`f zur Beschreibung von `F33f`_`[Interaktion`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Interaktion]`_`f zwischen kommunizierenden `F33f`_`[Prozessen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Prozess_(Computer)]`_`f. Die Idee wurde als `F33f`_`[imperative Sprache`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Imperative_Sprache]`_`f 1978 von Tony Hoare vorgestellt, dann von ihm zu einer formalen Algebra ausgebaut und 1985 mit der Veröffentlichung des Buchs mit dem gleichnamigen Titel `*Communicating Sequential Processes`* berühmt. Dieses Buch war 2003 laut `F33f`_`[CiteSeer`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=CiteSeer]`_`f bereits das dritthäufigst zitierte Werk der `F33f`_`[Informatik`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Informatik]`_`f.`:cite-ref-1[`F5bf`_`[1`#cite-note-1]`_`f]
Als Abgrenzung zur ursprünglichen imperativen Sprache CSP wird die Prozessalgebra teilweise auch als `!Theoretical Communicating Sequential Processes`! (`!TCSP`!) bezeichnet.
>>Contents
• `F0af`_`[Anwendungen`#anwendungen]`_`f
• `F0af`_`[Auszug aus der Syntax und Semantik`#auszug-aus-der-syntax-und-semantik]`_`f
• `F0af`_`[Weblinks`#weblinks]`_`f
• `F0af`_`[Einzelnachweise`#einzelnachweise]`_`f
-─
>>Anwendungen
• Die `F33f`_`[Programmiersprachen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Programmiersprache]`_`f `F33f`_`[Go`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Go_(Programmiersprache)]`_`f`:cite-ref-2[`F5bf`_`[2`#cite-note-2]`_`f] und `F33f`_`[Occam`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Occam]`_`f beinhalten praktische `F33f`_`[Implementierungen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Implementierung]`_`f der CSP.
• JCSP (Communicating Sequential Processes for Java) ist die Verbindung von CSP- und Occam-Konzepten in einer `F33f`_`[Java`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Java_(Programmiersprache)]`_`f-`F33f`_`[API`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Application_Programming_Interface]`_`f.
• Mit C++CSP2 ist eine entsprechende `F33f`_`[Implementierung`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Implementierung]`_`f für `F33f`_`[C++`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=C++]`_`f verfügbar.
• das `F33f`_`[Message Passing Interface`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Message_Passing_Interface]`_`f
• die `F33f`_`[Parallel Virtual Machine`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Parallele_Virtuelle_Maschine]`_`f.
>>Auszug aus der Syntax und Semantik
• CSP verwendet Großbuchstaben für `F33f`_`[Zustände des Automaten`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Automat_(Informatik)]`_`f sowie Kleinbuchstaben für `F33f`_`[Ereignisse`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Ereignis]`_`f. Die durch Ereignisse ausgelösten `F33f`_`[Zustandsübergänge`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Transitionssystem]`_`f werden durch einen Pfeil (→) gekennzeichnet.
• `B100`F9d9(x → B)`f`b Auf das Ereignis x folgt der Zustand B
• `B100`F9d9(x → y → B)`f`b Auf die Ereignisfolge x und dann y folgt Zustand B
• In CSP werden bedingte Ereignisse durch Angabe des Auswahloperators | definiert.
• `B100`F9d9(x → A | y → B)`f`b Wenn Ereignis x, dann Zustand A. Wenn Ereignis y, dann Zustand B
• Die Menge der Zustände und Ereignisse, die ein über CSP definierter Automat akzeptiert, wird durch das `F33f`_`[Alphabet`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Alphabet]`_`f αP angegeben. Jeder Automat enthält einen zusätzlichen Zustand STOP in αP, aus dem ein weiterer Zustandsübergang per Definition nicht mehr erlaubt ist.
• Sequentielle `F33f`_`[Komposition`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Komposition_(Mathematik)]`_`f wird durch das Einführen von Zwischenzuständen ermöglicht.
• `B100`F9d9P = (x → A), A = (y → B)`f`b ist äquivalent zu
• `B100`F9d9P = (x → y → B)`f`b
• Die Parallelschaltung von Prozessen, die dieser Prozessalgebra den Namen gab, wird durch die Angabe des Symbols || erreicht.
• `B100`F9d9P = (a → (b → P | x → b → P))`f`b mit αP = {a, b, x}
• `B100`F9d9Q = (a → b → Q | y → b → Q)`f`b mit αQ = {a, b, y}
• `B100`F9d9P || Q`f`b akzeptiert alle Zeichenfolgen {ab, axb, yb} sowie beliebige sequentielle Kombinationen
• `F33f`_`[Rekursionen`:/page/entry.mu`zim=wikipedia_de_all_nopic_2026-01.zim|entry_path=Rekursion]`_`f sind möglich.
• `B100`F9d9P = (x → y → P)`f`b generiert die unendliche Abfolge der Ereignisse xyxyxy…
>>Weblinks
• Elektronische Version des Originalbuchs zu CSP von Tony Hoare
• C++CSP2 der University of Kent
>>Einzelnachweise
`:cite-note-1`!1.`! `F0af`_`[↑`#cite-ref-1]`_`f CiteSeer Statistik
`:cite-note-2`!2.`! `F0af`_`[↑`#cite-ref-2]`_`f `*Google Go package csp.`* Abgerufen am 26. Juni 2019 (englisch).
`c`F0af`_`[↑ Back to top`#top]`_`f`a